TrueNAS Scale Zerotier安装和配置
啊!Zerotier真是太棒啦
由于校园网屏蔽了所有SMB端口,且同时我的NAS有内网穿透的需求,所以我打算为我的TrueNAS Scale安装上Zerotier。
系统环境变量设置
在安装Zerotier之前我们先需要设置两个系统环境变量,进入系统-高级页面
在系统控制面板中添加net.ipv4.ip_forward
和net.ipv4.conf.all.src_valid_mark
,设置值为1,也就是true。
Zerotier安装
接下来安装Zerotier。
由于TrueNAS的Charts已经提供了Zerotier的APP,我们可以直接使用Charts进行安装。
在应用页面中搜索并部署Zerotier:
在网络选项下添加项,并在其中输入你需要加入的网络的id。
Auth Token (API Key)
和Identity Secret
以及Identity Public
暂时空着不填。
在下面网络配置这一项中,一定要勾选Host Network
,否则zerotier连不上NAS自身开启的服务。
然后点击安装完成安装流程。
启动Zerotier服务,记得要在Zerotier的网站面板上勾选一下NAS的这个IP,同意让NAS加入该网络。
Zerotier网络地址持久化
按照如上步骤安装之后,会发现有一个问题,就是每一次重启服务都会在zerotier的网络中分配一次新的机器ip地址。
这是因为没有设置Identity Secret
和Identity Public
。
接下来完成该步骤。
1、在TrueNAS中,导航到系统设置,然后选择命令行(Shell)选项。
2、在打开的shell窗口中输入以下命令
1 | k3s kubectl get namespaces |
输出如下:
1 | NAME STATUS AGE |
3、使用获取到的命名空间运行以下命令:
1 | k3s kubectl get -n ix-zerotier pods |
输出如下:
1 | NAME READY STATUS RESTARTS AGE |
4、使用命名空间和Pod名称信息,在Pod内部打开一个shell,使用以下命令:
1 | k3s kubectl exec -n ix-zerotier --stdin --tty zerotier-59700b7689-gwcqw -- /bin/bash |
5、使用以下命令生成Zerotier identity文件:
1 | zerotier-idtool generate identity.secret identity.public |
6、查看identity.secret
和identity.public
1 | cat identity.secret |
1 | cat identity.public |
7、记下identity.secret
和identity.public
的值,接着转到应用程序,选择Zerotier,然后点击编辑。
将identity.secret
和identity.public
分别填入对应的框中,更新配置即可。
然后zerotier会生成一个新的ip地址,并且重新启动Zerotier应用程序或TrueNAS,该地址也不会变化。